package com.zrrd.mcl.product.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zrrd.mcl.model.product.BaseCategoryView;
import com.zrrd.mcl.model.product.SkuInfo;
import com.zrrd.mcl.model.product.SpuImage;
import com.zrrd.mcl.model.product.SpuSaleAttr;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface SkuInfoService extends IService<SkuInfo> {

    //根据spuId获取spu图片信息
    List<SpuImage> getSpuImageList(Long spuId);

    //根据spuId获取spu销售属性
    List<SpuSaleAttr> getSpuSaleAttrList(Long spuId);

    //添加sku
    void saveSkuInfo(SkuInfo skuInfo);

    //根据sku的id获取sku信息
    SkuInfo getSkuInfo(Long skuId) throws InterruptedException;

    //根据三级分类id查询出3个分类的视图
    BaseCategoryView getCategoryView(Long category3Id);

    //获取价格
    BigDecimal getSkuPrice(Long skuId);

    List<SpuSaleAttr> selectSpuSaleAttrListBySku(Long spuId, Long skuId);

    //根据spuId查询sku销售属性值信息
    Map selectSkuSaleAttrValueBySpu(Long spuId);

    //获取全部分类信息（json层级）
    List<JSONObject> getBaseCategoryListJson();

}
